import numpy as np

a = np.array([2, 4, 6, 8, 10, 12])  # 一维数组初始化
# (1) a 的类型
print(f"（1）\n\ta的类型为：{type(a)}")
# (2) a 的 shape 和 size；
print(f"（2）\n\ta的shape：{a.shape}")
print(f"\ta的size：{a.size}")
# (3) 输出 a的第5个元素；
print(f"（3）\n\ta的第5个元素：{a[4]}")
# (4) 将a转换为2*3的矩阵，并输出新矩阵的shape和size；
a = a.reshape(2, 3)
print(f"（4）\n\t转换后a的shape：{a.shape}")
print(f"\t转换后a的size：{a.size}")
# (5) 从新矩阵中索引输出[10, 12]；
print(f"（5）\n\t索引输出[10,12]：{a[1][1:]}")
# (6) 利用“布尔值索引”输出a中大于4的数；
print(f"（6）\n\ta中大于4的数：{a[a > 4]}")
# (7) 重新指定数组a的数据类型为浮点数（float64），并输出其dtype；
a = np.float64(a)
print(f"（7）\n\ta的dtype：{a.dtype}")
# (8) 将 a 中全部元素缩小10，对比around、ceil、floor的不同舍入效果。
a = a / 10
print("（8）\n\taround四舍五入舍入：")
print(f"\t{np.around(a)}")
print("\tceil向上舍入：")
print(f"\t{np.ceil(a)}")
print("\tfloor向下舍入：")
print(f"\t{np.floor(a)}")
